配線図プログラムの登録データを変換処理するプログラム。

@ 出力の基本構造は自作の汎用作画プログラム向けである。

A CSV形式で出力した場合はデータ構造を理解すれば
  他のプログラム向けに各個人で再処理するプログラムも作れる。



@ 起動画面です。

左側が変換元のデータ格納フォルダのデータリスト。

右側に変換処理するデータの名称を移動する。

実行ボタンをクリックすると変換処理が行われ処理結果が名称の右に追加される。


@ CSV形式で出力した場合です。



"要素の纏め","0","0","1","0"
"線種","0","0","-16777216","0.5"
"矩形要素","0","63.6300010681152","152.720001220703","39.7000007629395","13.0299987792969","0"
"要素の纏め","1","0","1","1"
"線種","0","0","-16777216","0.5"
"矩形要素","1","157.270004272461","116.059997558594","30.9099884033203","30.6000061035156","0"
"要素の纏め","2","0","1","2"
"線種","0","0","-16777216","0.5"
"矩形要素","2","88.7799987792969","61.5099983215332","29.0900039672852","33.3299980163574","0"
"要素の纏め","3","0","0","3"
"線種","0","0","-16777216","0.5"
"円形要素","3","221.809997558594","102.120002746582","5"
"要素の纏め","3","0","0","3"
"線種","0","0","-16777216","0.5"
"直線要素","0","243.029998779297","172.119995117188","223.260528564453","106.904975891113"
"要素の纏め","3","0","0","3"
"線種","0","0","-16777216","0.5"
"直線要素","0","243.029998779297","172.119995117188","242.867340087891","167.122634887695"
"要素の纏め","3","0","0","3"
"線種","0","0","-16777216","0.5"
"直線要素","0","243.029998779297","172.119995117188","240.39045715332","167.873489379883"
"要素の纏め","4","0","0","4"
"線種","0","0","-16777216","0.5"
"円形要素","4","167.570007324219","72.4199981689453","5"
"要素の纏め","4","0","0","4"
"線種","0","0","-16777216","0.5"
"直線要素","0","63.0299987792969","120.300003051758","163.024124145508","74.5020446777344"
"要素の纏め","4","0","0","4"
"線種","0","0","-16777216","0.5"
"直線要素","0","63.0299987792969","120.300003051758","67.9598617553711","119.465461730957"
"要素の纏め","4","0","0","4"
"線種","0","0","-16777216","0.5"
"直線要素","0","63.0299987792969","120.300003051758","66.8821182250977","117.112342834473"
"要素の纏め","5","0","0","5"
"線種","0","0","-16777216","0.5"
"円形要素","5","204.539993286133","54.8400001525879","5"
"要素の纏め","5","0","0","5"
"線種","0","0","-16777216","0.5"
"直線要素","0","31.2099990844727","54.5400009155273","199.539993286133","54.8313446044922"
"要素の纏め","5","0","0","5"
"線種","0","0","-16777216","0.5"
"直線要素","0","31.2099990844727","54.5400009155273","36.0373802185059","55.8424530029297"
"要素の纏め","5","0","0","5"
"線種","0","0","-16777216","0.5"
"直線要素","0","31.2099990844727","54.5400009155273","36.041862487793","53.254264831543"
"要素の纏め","6","0","0","6"
"線種","0","0","-16777216","0.5"
"直線要素","0","123.629997253418","131.809997558594","146.009994506836","131.809997558594"
"要素の纏め","6","0","0","6"
"線種","0","0","-16777216","0.5"
"直線要素","0","123.629997253418","131.809997558594","123.629997253418","127.769996643066"
"要素の纏め","6","0","12","6"
"フォント","6","10","MS Pゴシック","Bold","Point"
"文字要素","6","-16777216","123.629997253418","131.809997558594","0","7"
"文字列","1"
"文字列","64","6","7","あああああああ"



@ CSV形式で出力した場合です。




"専用データ ( *.Draw )|*.Draw"     "イメージデータ ( *.bmp )|*.bmp"
"イメージデータ ( *.jpig )|*.jpig"     "テキストデータ ( *.CSV )|*.CSV"


"作図一般"     "電子製図"     "電気製図"
"機械製図"     "車両配線図"     "流れ図"



"直線"           "矩形"        "円"       "円弧"          "楕円"
"楕円孤"         "折れ線(開)"     "多角形"     "多角曲線(閉)"     "多角曲線(開)"
"折れ線(閉)"      "配置図形"      "文字列"



"標準図面サイズ"   "図枠"         "フォント"       "線のパターン"
"線種"        "直線要素"       "矩形要素"       "円形要素"      "円弧要素"
"楕円要素"      "楕円弧要素"      "座標配列"       "折れ線(閉)要素"  "折れ線(開)要素"
"多角形要素"     "多角曲線(閉)要素"  "多角曲線(開)要素"  "文字列"       "文字要素"
"配置図形要素"     "要素の纏め"     "順序番号管理"     "データ管"      "来歴(変更図形用)"
"図形の纏め"     "表題欄枠"       "表題欄"        "機能"        "来歴(表題欄用)"
"図面メイン"




// 標準図面サイズのデータ構造

int Seq; // シーケンシャル番号(検索用)
int Kind; // 用紙の種類コード
wchar_t PaperName[ ]; // 図面の表示名称
int XLength; // 図面の高さ( mm )
int YLength; // 図面の幅( mm )



// 図枠データ

wchar_t Name[ ]; // 図面の表示名称
short Size; // 図面サイズ
short Scape; // 図面の向き( 縦向き = 0、横向き = 1 )
float H; // 図面の縦の寸法
float W; // 図面の横の寸法
float S; // 図面の尺度
float P; // 余白のフレームのペンの幅(0の時は作画しない)
float L; // 左の余白
float R; // 右の余白
float U; // 上の余白
float B; // 下の余白


// フォントデータの構造

int Seq; // シーケンシャル番号(検索用)
float Size; // 文字の大きさ
wchar_t Name[ ]; // フォンの種類
wchar_t Style[ ]; // 文字のスタイル
wchar_t Unit[ ]; // 文字の大きさの単位



// 線のパターンデータの構造

short Type; // 種別コード; 5 〜 65000 = カスタム / 0 = 実線; 1 = 破線; 2 = 点線; 3 一点鎖線; 4 = 二点鎖線;
short N; // ポイント数 ( PaternNosMax 以下 )
float Pattern[ ]; // パターンデータ



// 線種別の基本データの構造

int Seq; // シーケンシャル番号(検索用)
int Color; // 線の色
short PatternT; // 線のパターンの種別コード ( 0 〜 5 ) : = 5 の時カスタム / 0 = 実線; 1 = 破線; 2 = 点線; 3 一点鎖線; 4 = 二点鎖線;
float Width; // 線の幅




// 線種別コードのデータへのポイント

double Xs; // 始点のX座標
double Ys; // 始点のY座標
double Xe; // 終点のX座標
double Ye; // 終点のY座標




// 線種別コードのデータへのポイント

double Xs; // 左下点のX座標
double Ys; // 左下点のY座標
double W; // 右上点のX座標
double H; // 右上点のY座標
double Th; // 回転角(ラジアン)




// 線種別コードのデータへのポイント

double Xc; // 中心のX座標
double Yc; // 中心のY座標
double R; // 図形の半径




// 線種別コードのデータへのポイント

double Xc; // 中心のX座標
double Yc; // 中心のY座標
double R; // 図形の半径
double Ths; // 開始点の角度
double The; // 終了点の角度



// 線種別コードのデータへのポイント

double Xc; // 中心のX座標
double Yc; // 中心のY座標
double R; // 図形の半径
double H; // 中心からの高さ
double W; // 中心からの幅
double Th; // 回転角(ラジアン)




// 線種別コードのデータへのポイント

double Xc; // 中心のX座標
double Yc; // 中心のY座標
double R; // 図形の半径
double H; // 中心からの高さ
double W; // 中心からの幅
double Ths; // 開始点の角度
double The; // 終了点の角度
double Th; // 回転角(ラジアン)




// 座標配列のデータ構造

int Seq; // シーケンシャル番号(検索用)
short N; // ポイント数
double X[ ]; // 点のX座標
double Y[ ]; // 点のY座標



// 線種別コードのデータへのポイント

short N; // ポイント数
double Th; // 回転角(ラジアン)




// 線種別コードのデータへのポイント

short N; // ポイント数
double Th; // 回転角(ラジアン)




// 文字列のデータ構造

int Seq; // シーケンシャル番号(検索用)
short N; // 文字数
wchar_t Chr[ ]; // 文字列



// 文字要素のデータ構造

int Seq; // シーケンシャル番号(検索用)
int Color; // 文字の色
double X; // 文字列の左下点のX座標
double Y; // 文字列の左下点のY座標
double Th; // 回転角(ラジアン)
short N; // 文字数




// 配置図形要素のデータ構造

int Seq; // シーケンシャル番号(検索用)
short Type; // 配置図の種類コード:= 0 ; ピクチャ : = 1 ; 本システムで作成した図: = 2 ; 作成中の配置図(図形)/
wchar_t Name[ ]; // 配置図形要素のデータ名
double Xc; // 配置点のX座標
double Yc; // 配置点のY座標
double H; // 配置サイズの高さ
double W; // 配置サイズの幅
double Th; // 回転角(ラジアン)




// 要素データの纏め構造

int Seq1; // シーケンシャル番号(検索用)
short Type1; // 図形要素の種類(1)機能別コード
short Type2; // 図形要素の種類(2)要素種別コード
int Seq2; // 各要素の順序番号




// 来歴データの構造(変更図形データ用」)

short RevSeq; // 来歴ナンバー 0〜N
short Type; // 来歴図形更新コード [ ]; // 図形のデータ名
double S; // 図形の尺度
double X; // 図形の配置左下点のX座標
double Y; // 図形の配置左下点のY座標




// 表題欄フレームデータ

double Xc; // 表示位置(X座標)
double Yc; // 表示位置(Y座標)
double Thc; // 作画方向の角度(度)
double Xt; // 図面名称の表示位置(X座標)
double Yt; // 図面名称の表示位置(Y座標)
double Wt; // 図面名称の作画可能幅
double Ht; // 図面名称の作画可能
double Xr; // 来歴名称の表示位置(X座標)
double Yr; // 来歴名称の表示位置(Y座標)
double Wr; // 来歴名称の作画可能幅
double Hr; // 来歴名称の作画可能
double Xrd; // 追加来歴名称の作画座標変異(X座標)
double Yrd; // 追加来歴名称の作画座標変異(Y座標)




// 表題欄データ

double X; // 表示位置(X座標)
double Y; // 表示位置(Y座標)
double Th; // 作画方向の角度(度)
short N; // 文字数
int Color; // 文字の色




// 図面機能データの構造

short Type; // 分類コード(番号)
wchar_t CodeName[ ]; // 機能コード別名称
int SeqMax; // 図形データの最大シーケンシャル番号




// 来歴データの構造(表題欄表示用データ用」)

short RevSeq; // 来歴ナンバー 0〜N
short Type; // 来歴図形更新コード
double Xtext; // 来歴内容表示位置(X座標)
double Ytext; // 来歴内容表示位置(Y座標)
double Thtext; // 来歴内容作画方向の角度(度)
int Color; // 文字の色
short Ntext; // 文字数 : 来歴内容





// 図面メインデータの構造

short RevFlg; // 来歴フラグ ( < 0 : 来歴不要 ); ( > 0 : 来歴定義にて図形の更新が可能 );
short RevSeq; // 来歴ナンバー N(最大コード)
short SeqMax; // 機能分類コードの最大番号






A Draw 形式で出力した場合の検証は済んでいますがモジュールが消滅しました。

  イメージ形式は出力の項目にはありますが処理の対象外です。